1. Field of Invention
The present invention relates generally to mobile nodal based networks and more particularly to a mobile nodal based network apparatus having reduced packet forwarding latency, and improved nodal bandwidth, robustness, and power requirements.
2. Description of Related Art
The present invention relates generally to routing packets between computing devices in a network, such as a mesh network and mobile ad-hoc networks (MANet) used for military applications such as software defined radio (SDR) in the Joint Tactical Radio System (JTRS).
A mobile ad-hoc network (MANet) is a self-configuring network of mobile router nodes, e.g. wireless laptop personal computers but including airborne, fixed, maritime, vehicular, dismounted and handheld applications, forming a topology. The router nodes may organize themselves in a peer-to-peer, computer-to-computer manner without the use of a central base station (access point).
A mobile ad-hoc network node does not need a priori knowledge of the topology of the network around the network node. A new node introduced into a MANet can discover the topology by announcing its presence and listening for corresponding announcements from its neighbor nodes. A new node may learn about new near nodes and how to reach them; the new node can announce that it can also reach those nodes. As time progresses each node may know about all other nodes and how to reach them. Nodes may grow into the MANet and withdraw from it.
MANets may be used in radio network systems such as TDRS (Tactical Data Radio System) and JTRS (Joint Tactical Radio System), such as used for software defined radio (SDR). Historically some of the earliest MANets were called “packet radio” networks, sponsored by DARPA in the 1970s.
A radio device that is implemented digitally is broadly composed of two parts: a radio modem and a MAC (Media Access Control) controller, responsible for running the MAC protocol. The MAC sublayer is the part of the OSI or IEEE network model data link layer that determines who is allowed to access the physical media at any one time. It acts as an interface between the Logical Link Control sublayer and the network's physical layer as defined in the OSI or IEEE network model.
A modem is a device for modulating and demodulating a signal that typically has digital information therein, hence the term “modem” for modulator/demodulator. The signal is constructed to be suitable for the relevant transmission medium and is typically transmitted as an analog signal.
Modems have been used to communicate via telephone lines, with an analog carrier signal encoded with digital information, but modems can be used over any medium for transmitting signals, including over-the-air radio waves. Radio waves are generally defined to include the band of radio frequencies in the electromagnetic spectrum from 3 kHz to 300 GHz, from the Extremely Low Frequency (ELF) to Extremely High Frequency (EHF) bands respectively.
Modem is used as a term for “modem control”, meaning managed resources for waveform modulation and demodulation schemes of the kind used in radio data transmission, including but not limited to Frequency Modulation (FM), Amplitude Modulation (AM), Single Side Band (SSB), Double Side Band (DSB), Vestigial Sideband (VSB), Frequency Shift Keying (FSK), Phase Shift Keying (PSK), Gaussian Minimum Shift Keying (GMSK), Quadrature Amplitude Modulation (QAM), Frequency Hopped Spread Spectrum (FHSS), Direct Sequence Spread Spectrum (DSSS), Orthogonal Frequency Division Multiplexing (OFDM) and the like.
A software defined radio (or digital radio) is a radio that functions like a computer, where the functionality of the radio is defined by software that can be upgraded, rather than by fixed hardware. SDR has been defined as a radio whose signal processing functionality is defined in software, where the waveforms are generated as sampled digital signals, converted from digital to analog via a high-speed Digital-to-Analog Converter (D/A) and then translated to Radio Frequency (RF) for wireless propagation to a receiver. The receiver typically employs an RF subsystem coupled to a high-speed Analog-to-Digital Converter (A/D) that can capture some or all of the channels of the software radio node. The receiver then extracts and demodulates the channel waveform using software executing on a digital processor. Thus SDR can be reprogrammed to transmit and receive any radio standard, by reprogramming the digital radio with the protocol required, including any arbitrary modulation and bit rate, and with A/D converters operating up to the gigasample per second range to convert analog signals into the digital domain.
SDR is aimed at solving several of the challenges of over-the-air communications, including compatibility with pre-existing legacy radio systems, ability to emulate transmission and reception of a plurality of different waveforms or forms of modulation (modem control), and more efficient spectrum usage, including operation in different frequency bands, with the lowest possibility of interception, detection and interference from unauthorized parties.
The U.S. military through the Department of Defense (DoD) has driven the development of next generation SDR with an Open Standard Architecture for implementing Joint Tactical Radio Systems (JTRS), which is used to communicate in military communication systems, through the use of an open standard Software Communications Architecture (SCA). The SCA calls out the following features: a Common Open Architecture; the ability to support multiple domains, including airborne, fixed, maritime, vehicular, dismounted and handheld applications; the ability to operate in multiple frequency bands; compatibility with legacy radio systems; the ability to easily insert new technologies to improve performance; enhanced security, including cryptographic capability, user identification and authentication, encryption key management, and multiple independent levels of security classification; networking ability, including support for legacy network protocols; software reusability; and support for plug-and-play and real-time reconfigurability, with waveforms being portable from one platform implementation to another. The SCA provides standardization of hardware platforms and waveform application software to enable portability and interoperability over the life cycle of military communication systems
Prior art scalable network architectures typically employ multiple distributed processors communicating with each other over an interconnecting network. OSI (Open System Interconnection) is an ISO standard for worldwide communications that defines a framework for implementing protocols in seven hierarchical layers in a network. Control is passed from one layer to the next, starting at the application layer in one station, and proceeding to the bottom layer, over the channel to the next station and back up the hierarchy. Layers in the OSI protocol stack include layer 1, the physical layer (electrical signals); layer 2, the MAC layer (data link, transmits data packets from node to node based on node addresses); layer 3, the network layer (routes data to different LANs/WANs based on network address); layer 4, the transport layer (ensures delivery of entire message or file); layer 5, the session layer (starts, stops session); layer 6, the presentation layer (encryption, data conversion); layer 7, the application layer.
IEEE 802.11 stands for a family of IEEE standards for wireless LANs that were designed to extend 802.3 (wired Ethernet) into the wireless domain. The 802.11 standard is more widely known as “Wi-Fi” because the Wi-Fi Alliance, an organization independent of IEEE, provides certification for products that conform to 802.11. The IEEE 802.11 communication framework is largely similar to the OSI model, but the 802.11 specification for LANs breaks the data link layer into two sublayers: the LLC (Logical Link Control) and MAC (Media Access Control). The LLC provides a common interface to the MAC layers, which specify the access method used.
The MAC sublayer is primarily concerned with the control of access to the physical transmission medium (i.e. which transmitters are transmitting in the physical layer or which node or frequency range has the right to transmit) or low-level media-sharing protocols like CSMA/CD. The upper Data-Link sub-layer, the Logical Link Control (LLC) sub-layer handles such tasks as: recognizing where frames begin and end in the digital bit-stream received from the physical layer when receiving; delimiting the frames when sending, that is, inserting information such as extra bits into or among the frames being sent so that the receiver(s) are able to recognize the beginning and end of the frames; detection of transmission errors such as by inserting a checksum into every frame sent and recalculating and comparing them on the receiver side; inserting the source and destination MAC addresses into every frame transmitted; and filtering out the frames intended for the station by verifying the destination address in the received frames.
The MAC controller can be implemented by a microcontroller on a card, with some functionalities of the MAC in the software drivers on a personal computer, or, for increased performance and greater cost, by an ASIC (Application Specific Integrated Circuit). MAC controllers are concerned with parameters such as the packet format (size, headers) of the packet, the channel access mechanisms and the network management features, as well as the circuitry and on-board memory to perform the functionality of the MAC layer. For performance reasons, MAC protocol functionality is often embedded in the device and only a few non performance critical functions are handled by a software driver on the host. The very low part of the MAC protocol, which is time critical, is implemented in the baseband ASIC of the digital radio. For instance, the carrier sense and MAC acknowledgement need reaction in the order of a dozen microseconds, which argues for using an ASIC.
Wireless mesh networks are rapidly gaining acceptance in both commercial and military applications as a low cost solution for network connectivity. Many of these mesh networks utilize variants of the 802.11 standard, although wireless communication waveforms may be specially designed to more optimally support mesh networking.
A basic characteristic of mesh networks is that there is no fixed or central infrastructure such as a base tower, so each node in the network must provide infrastructure services to the other network nodes. In the case of communication between two relatively distant nodes, each node between the distant nodes must receive packets, determine who to send the packets to, and transmit the packets to the next node. Each link between intermediate nodes is called a “hop”, and the performance of the mesh network is determined by the ability of the nodes to perform these hop functions quickly and efficiently. Present wireless mesh networks are implemented using small embedded computing environments such as Linux executing on an Intel XScale microprocessor. The networking functions are typically implemented in software running in the Linux operating environment. Additionally, many important mesh network applications must be powered from batteries, so it is critical that the power consumption of the mesh network infrastructure be low.
This software approach has been useful and effective in proving the feasibility of mesh networking, and relatively small (<100 node) mesh networks have been constructed and fielded using this approach. Experience has shown, however, that as the network traffic begins to increase, the performance of the mesh network begins to degrade, primarily due to the computing overhead associated with each “hop” in the intermediate nodes of the mesh. For real time services such as voice over IP (VoIP), the end-to-end packet deliver latency must be less than about 250 milliseconds (ms). Software implemented mesh networking has been observed to incur packet forwarding delays of up to 25 ms, which limits the network to about 8 hops.
In computer engineering, microarchitecture is the design and layout of a microprocessor, microcontroller, or digital signal processor. Microarchitecture considerations include overall block design, such as the number of execution units, the type of execution units (e.g. floating point, integer, branch prediction), the nature of the pipelining, cache memory design, and peripheral support.
A computer operation is an operation specified by an instruction stored in binary form, in a computer's memory. A control unit in the computer uses the instruction (e.g. operation code, or opcode), decodes the opcode and other bits in the instruction to perform required microoperations. Microoperations are implemented by hardware, often involving combinational circuits. In a CPU, a control unit is said to be hardwired when the control logic expressions are directly implemented with logic gates or in a PLA (programmable logic array). By contrast to this hardware approach for the control logic expressions, a more flexible software approach may be employed where in a microprogrammed control unit, the control signals to be generated at a given time step are stored together in a control word, called a microinstruction. The collection of these microinstructions is called a microprogram, and the microprogram is stored in a memory element termed the control store.
Microprogramming is a systematic technique for implementing the control unit of a computer. Microprogramming is a form of stored-program logic that substitutes for sequential-logic control circuitry. A central processing unit (CPU) in a computer system is generally composed into a data path unit and a control unit. The data path unit or data path includes registers, function units such as ALUs (arithmetic logic units), shifters, interface units for main memory and I/O, and internal busses. The control unit controls the steps taken by the data path unit during the execution of a machine instruction or macroinstruction (e.g., load, add, store, conditional branch). Each step in the execution of a macroinstruction is a transfer of information within the data path, possibly including the transformation of data, address, or instruction bits by the function units. The transfer is often a register transfer and is accomplished by sending a copy (i.e. gating out) of register contents onto internal processor busses, selecting the operation of ALUs, shifters, and the like, and receiving (i.e., gating in) new values for registers. Control signals consist of enabling signals to gates that control sending or receiving of data at the registers, termed control points, and operation selection signals. The control signals identify the microoperations required for each register transfer and are supplied by the control unit. A complete macroinstruction is executed by generating an appropriately timed sequence of groups of control signals; with the execution termed the microoperation.
What is needed and not found in the prior art is a system and method to successfully scale a mesh network that provides VoIP services, and to significantly reduce the latency associated with packet forwarding.